home *** CD-ROM | disk | FTP | other *** search
- /* -> h.dir
- * Cosmos Nicolaou 14/6/87
- *
- * 4.2 BSD style directory operations.
- *
- */
-
- /*
- * osgbpb with r0==9 is used to read directory names;
- * the data returned is copied into a struct dirent.
- */
- #define MAXNAMLEN 255
-
- struct dirent {
- unsigned int d_reclen; /* length of this record */
- unsigned int d_namlen; /* length of string in d_name */
- char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */
- };
-
- /*
- * This macro calculates the amount of storage required for
- * the directory entry.
- */
- #undef DIRSIZ
- #define DIRSIZ(dp) \
- ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &3))
-
- /*
- * Definitions for library routines operating on directories.
- */
- typedef struct _dirdesc {
- long dd_pos; /* current position in directory. */
- struct dirent *dd_dirent;
- char dd_name[MAXNAMLEN+1]; /* osgbpb needs a name */
- char dd_buf[MAXNAMLEN+1]; /* osgbpb needs a buffer */
- } DIR;
-
- extern DIR *opendir( char * );
- extern struct dirent *readdir( DIR * );
- extern long telldir( DIR * );
- extern void seekdir( DIR *, long );
- #define rewinddir(dirp) seekdir((dirp), (long)0)
- extern void closedir( DIR *);
-